package com.enjava;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.component.html.HtmlDataTable;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;


@ManagedBean(name="listadoAlumnosBean")
@RequestScoped
public class ListadoAlumnosRequestBean implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	List<Alumno> alumnosActivos = new ArrayList<Alumno>();
	List<Alumno> alumnosNoActivos = new ArrayList<Alumno>();
	
	@ManagedProperty(name = "listadoAlumnosWizardBean", value = "#{wizardBean}")
	WizardBean listadoAlumnosWizardBean;
	
	HtmlDataTable tablaActivos =  new HtmlDataTable();
	HtmlDataTable tablaNoActivos =  new HtmlDataTable();

	public List<Alumno> getAlumnosActivos() {
		return alumnosActivos;
	}

	public void setAlumnosActivos(List<Alumno> alumnosActivos) {
		this.alumnosActivos = alumnosActivos;
	}

	public List<Alumno> getAlumnosNoActivos() {
		return alumnosNoActivos;
	}

	public void setAlumnosNoActivos(List<Alumno> alumnosNoActivos) {
		this.alumnosNoActivos = alumnosNoActivos;
	}

	public HtmlDataTable getTablaActivos() {
		return tablaActivos;
	}

	public void setTablaActivos(HtmlDataTable tablaActivos) {
		this.tablaActivos = tablaActivos;
	}

	public HtmlDataTable getTablaNoActivos() {
		return tablaNoActivos;
	}

	public void setTablaNoActivos(HtmlDataTable tablaNoActivos) {
		this.tablaNoActivos = tablaNoActivos;
	}

	

	public WizardBean getListadoAlumnosWizardBean() {
		return listadoAlumnosWizardBean;
	}

	public void setListadoAlumnosWizardBean(WizardBean listadoAlumnosWizardBean) {
		this.listadoAlumnosWizardBean = listadoAlumnosWizardBean;
	}

	public ListadoAlumnosRequestBean() {
		
	}
	
	
	
	@PostConstruct
	public void inicializa(){
		EntityManager em = listadoAlumnosWizardBean.getEmf().getEM();
		
		EntityTransaction transaccion = em.getTransaction();
		transaccion.begin();
	

		
		Query sql = em.createQuery("SELECT Alumno FROM Alumno Alumno ");
		// where Alumno.matriculaActiva = 'TRUE'
		alumnosActivos = sql.getResultList();
		
		Query sql2 = em.createQuery("SELECT Alumno FROM Alumno Alumno ");
		//where Alumno.matriculaActiva = 'FALSE'
		alumnosNoActivos = sql2.getResultList();
		
		transaccion.commit();
	}
	

	public String redirecciona(){
		System.out.println("pasa por redirecciona");
		return "editarCurso";
	}
	

	

}
